package redis

import (
	"GoControalBackend/common/config"
	"context"
	"github.com/go-redis/redis/v8"
)

// RedisDb Redis 配置初始化
var RedisDb *redis.Client

// SetupRedisDb 初始化Redis容器
func SetupRedisDb() error {
	// 创建一个上下文对象
	var ctx = context.Background()
	// 初始化Redis客户端，使用配置中的地址和密码，选择第9个数据库
	RedisDb = redis.NewClient(
		&redis.Options{
			Addr:     config.Config.Redis.Address,
			Password: config.Config.Redis.Address,
			DB:       9,
		})

	// 发送Ping命令以测试Redis连接
	_, err := RedisDb.Ping(ctx).Result()

	// 如果Ping命令失败，返回错误
	if err != nil {
		return err
	}
	// 如果Ping命令成功，返回nil表示没有错误
	return nil
}
